#ifndef CHATSERVER_H
#define CHATSERVER_H

#include <muduo/net/TcpServer.h>
#include <muduo/net/EventLoop.h>

using namespace muduo;
using namespace muduo::net;

/**
 * @brief 网络类
 * 
 */
class ChatServer
{
public:
    // 初始化聊天服务对象
    ChatServer(EventLoop *loop,
               const InetAddress &listenAddr,
               const string &nameArg);
    // 启动服务器
    void start();

private:
    // 连接事件回调
    void onConnection(const TcpConnectionPtr &conn);
    // 读写事件回调
    void onMessage(const TcpConnectionPtr &conn,
                   Buffer *buffer,
                   Timestamp time);

    TcpServer _server; // tcp服务器
    EventLoop *_loop;  // 事件循环对象
};
#endif